|
CATIA V5 Programmierung : Rekursiv
tomtom1972 am 14.03.2007 um 07:42 Uhr (0)
Moin okl,führen wir unsere Diskussion weiter. Ich sehe das ein bischen anders. Ich will mich ja nicht zu weit aus dem Fenster lehnen, aber ich denke du interpretierst den Artikel auf Wiki nicht ganz richtig (das Beispiel dort ist auch unglücklich). Oder eben ich.Holen wir mal etwas weiter aus:Es gibt zwei Bereiche im RAM, die ein Script mit Arbeitsspeicher bedient: der Stack und der Heap. Wird z.B. eine Integer-Variable deklariert (Dim iTest As Integer, iTest = 1000), schreibt sich der 32-Bit-Wert der sel ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Rekursiv
tomtom1972 am 13.03.2007 um 09:05 Uhr (0)
Hallo,wieso soll CATScript dafür nicht gemacht sein?Und wieso ist ein rekursiv aufgebautes Script speicherintensiver? Das halte ich alles für absoluten Unfug. Endlosschleifen sind das Resultat falscher Programmierung und nicht das Ergebnis rekursiver Vorgänge.Rekursiv heißt ja nicht, das eine Schleife beliebig oft aufgerufen wird.Bsp sei folgende Struktur:Product Product Part Product Part Partund folgendes Script:Sub CATMain() Set oRoot = Catia.ActiveDocument Set oProducts = oRoot.Produc ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Nur sichtbare Flächen
tomtom1972 am 13.12.2006 um 10:22 Uhr (0)
Moin,das ganze geht so:-cgr erzeugen. Der cgr ist eine Hüllkurve, enthält also nur die aussenliegenden Flächen. Jene, welche du behalten möchtest.-Jetzt willst du aber die "echten" Flächen behalten, nicht den cgr. Daher dient der cgr nur zum Abgleich (da er die Info enthält, was eine aussenliegende Fläche ist)-Der Abgleich läuft über einen Clash (eine Kollisionsuntersuchung) zwischen dem cgr und allen restlichen Modellen.-Der Clash erzeugt (wenn er vom Typ catConflictTypeClash ist) Conflicts (also Konflikt ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter erkennen
tomtom1972 am 25.10.2006 um 10:01 Uhr (0)
Hallo,das geht ganz einfach mit Hilfe des TypeName. Damit bekommst du (als String) den Objecttyp zurück. Also Bsp (der 5 Parameter in einem Part):Set Param1 = Catia.ActiveDocument.Part.Parameters.Item(5)MsgBox TypeName(Param1)GrussTomTom------------------tomtom1972
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter Publizieren
tomtom1972 am 05.09.2008 um 10:28 Uhr (0)
Hallo JesG,dein Ansatz ist grundsätzlich falsch:Die Referenzen für Publikationen können (genauso wie z.B. auch die für Constraints) nur über .CreateReferenceFromNameerzeugt werden. --- die Selektion, der Parameter ist selektiertSet oSelection = Catia.ActiveDocument.SelectionSet oSelEl = oSelection.Item(1).ValueSet oProd = Catia.ActiveDocument.ProductSet oRef = oProd.CreateReferenceFromName(oSelEl.Name)Set oPublications = oProd.PublicationsSet oPub = oPublications.Add("TEST")oPublications.SetDirect "TEST", ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Regel ändern
tomtom1972 am 06.11.2018 um 11:19 Uhr (1)
Hallo Bernd,danke dir für deine Antwort.Mein Problem war scheinbar recht speziell. Wenn ich einen Parameter erzeuge mach ich das normalerweise so:Set oParam = oParams.CreateDimension.CreateDimension("", "LENGTH", 0)und benenne ihn dann um mit oParam.Rename = "Name"Bei mir liegen die erzeugten Parameter zudem verschachtelt in ParameterSets.Wenn ich einen Parameter manuell in einem Set anlege sieht der Name wie folgt aus: ParametersetName.Wenn ich die Parameter mit Script erzeuge und dann umbenenne sieht der ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Ist ein Drawing.Text mit einem Parameter verknüpft?
tomtom1972 am 03.03.2010 um 10:45 Uhr (0)
Hallo Jens Hansen,vielen Dank für deine Antwort.Im Watch findet sich nichts, was einen Hinweis auf den Parameter im DrawingText gäbe. Allerdings sehe ich im Watch ja auch bei weitem nicht alles; der DrawingText ist hierfür so ein Paradebeispiel. Der hat jede Menge Methoden (wie z.B. das GetModifiableIn2DComponentInstances) die ich erst mal ausführen muss, um mir die Objekte dann im Watch ansehen zu können. Interaktiv ist es ja auch nur über RMT QueryObjectLinks möglich, sich den Link anzeigen zu lassen; d ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Component Activation State ohne Wirkung?
tomtom1972 am 22.04.2010 um 08:00 Uhr (0)
Moin Jens,dafür gibt es zwar keine eigene Methode oder Property, aber Möglichkeiten den "Status" eines Knoten abzufragen gibt es viele.Ich mache mir dabei folgende Eigenart eines deaktivierten Knoten zu Nutze: ein .CreateReferenceFromName liefert keine "echte" Reference;soll heißen: jedes Modell (egal was es ist) hat schon Aufgrund seiner Existenz mindestens einen Parameter (also ein ....Product.Parameter.Item(1)). Auf diesen ein .CreateReferenceFromName versuchen. Bekommst du eine "echte" Reference auf de ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Ist ein Drawing.Text mit einem Parameter verknüpft?
tomtom1972 am 03.03.2010 um 09:04 Uhr (0)
Hallo,es gibt mehrere Beiträge im Forum wie ein DrawingText mit einem Parameter verknüpft wird Code:oText.InsertVariable i, j, oParameterIch suche (bisher erfolglos) nach einer Möglichkeit festzustellen, ob ein DrawingText mit einem Parameter verknüpft ist, und wenn ja mit welchem.Kennt jemand eine Methode bzw. hat eine Idee? In der Doku ist nichts zu finden.Der Workaround alle Texte auszulesen, die enstpr. Ref-Parameter zu ändern, nochmals alle Texte auszulesen und die beiden Ergebnisse zu vergleichen ist ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Pfad eines gestarteten Makros finden
tomtom1972 am 10.01.2008 um 06:22 Uhr (0)
Moin triumvirn,du kannst sehr wohl Parameter an die CATMain() in einem Script übergeben, ohne das der Dialog auftaucht.Dazu müssen die Parameter im Aufruf als Array übergeben und im CATScript einzeln abgefangen werden.Also z.B. so:Sub CATMain(sTest1, sTest2, sTest3) Msgbox sTest1 & sTest2 & sTest3End SubDer Aufruf aus einem anderen VB6.Script sieht dann z.B. so aus:Catia.SystemService.ExecuteScript App.Path, catScriptLibraryTypeDirectory, "Test.CATScript", "CATMain", aTestParamsDas Array aTestParams setzt ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter aus Catia in eine Exceltabelle
tomtom1972 am 25.04.2007 um 07:03 Uhr (0)
Hi Sir Klabauter,Sub CATMain()Set objXL = CreateObject("Excel.Application")objXL.Visible = TrueSet oAWBook = objxl.Workbooks.Addwenn du die Zellen direkt ansprichst, geht das besser (=schneller) als über die SelektionobjXL.Cells(1,1).Value = "Test"sFileName = "C: est.xls"oAWBook.SaveAs sFileNameobjXL.QuitEnd SubGruß------------------tomtom1972[Diese Nachricht wurde von tomtom1972 am 25. Apr. 2007 editiert.]
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Catia Stückliste in Firmeninterne Stückliste importieren??
tomtom1972 am 02.01.2007 um 07:17 Uhr (0)
Hallo,ich halte von der CATIA Stückliste (BOM-Funktion) nicht sehr viel. Es ist zwar eine relativ einfache Möglichkeit an eine Stückliste zu kommen, aber das "Layout" lässt doch sehr zu wünschen übrig - zumal es (je nach Einstellung) immer anders ist.Wenn du die vorliegende Struktur rekursiv "scanst" und alle benötigten Informationen ausliest (Parameter oder User Defined Properties) kannst du diese direkt in xls-sheets schreiben, die so aussehen, wie sie aussehen sollen.Alles gute im neuen Jahr - Gruss Tom ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : ParameterSet mit Script finden
tomtom1972 am 23.10.2006 um 08:35 Uhr (0)
Hallo krisztian,Die Parametersets sind in der Objectstruktur genauso verschachtelt aufgebaut wie im Tree.Bsp.: ein Part geöffnet (Root), Parameterset (Test) in Parameters findest du wie folgt:Catia.ActiveDocument.Part.Parameter.RootParameterSet.ParameterSets.Item(1).Parametersets.NameSiehe auch Bild im Anhang.Hoffe das beantwortet deine Frage.Einen schönen Gruss aus der alten Heimat (firmentechnisch)TomTom (Torben)------------------tomtom1972
|
| In das Form CATIA V5 Programmierung wechseln |